home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / livecd.squashfs / usr / share / idl / bonobo-2.0 / Bonobo_Moniker.idl < prev    next >
Text File  |  2006-01-09  |  3KB  |  123 lines

  1. /*
  2.  * bonobo-moniker.idl: Implements an object naming and resolution interface
  3.  *
  4.  * Copyright (C) 2000  Helix Code, Inc.
  5.  *
  6.  * Authors:
  7.  *    Michael Meeks (michael@helixcode.com)
  8.  *    Ettore Perazzoli (ettore@helixcode.com)
  9.  */
  10.  
  11. #ifndef BONOBO_MONIKER_IDL
  12. #define BONOBO_MONIKER_IDL
  13.  
  14. #include <Bonobo_Activation_types.idl>
  15. #include "Bonobo_Unknown.idl"
  16.  
  17. module Bonobo {
  18.  
  19.     typedef long ResolveFlag;
  20.     const ResolveFlag MONIKER_ALLOW_USER_INTERACTION = 1;
  21.  
  22.     struct ResolveOptions {
  23.         ResolveFlag  flags;
  24.         long         timeout; /* in ms */
  25.     };
  26.  
  27.     interface Moniker : Bonobo::Unknown {
  28.         exception InterfaceNotFound {};
  29.         exception TimeOut           {};
  30.         exception InvalidSyntax     {};
  31.         exception UnknownPrefix     {};
  32.  
  33.         /**
  34.          * getParent:
  35.          *
  36.          * get the parent moniker.
  37.          */
  38.         Moniker getParent ();
  39.  
  40.         /**
  41.          * setParent:
  42.          * @parent: parent moniker
  43.          * 
  44.          * sets the parent moniker.
  45.          */
  46.         void setParent (in Moniker parent);
  47.  
  48.         /**
  49.          * getName:
  50.          * 
  51.          * Returns a human readable representation of the Moniker
  52.          */
  53.         string  getName ()
  54.             raises (InvalidSyntax);
  55.  
  56.          /**
  57.           * setName:
  58.           * @name: the display name
  59.           *
  60.           * set the name of the moniker. This method parses the whole
  61.          * name and constructs the moniker chain.
  62.           */
  63.          void setName (in string name)
  64.             raises (InvalidSyntax, UnknownPrefix);
  65.          
  66.         /**
  67.          * resolve:
  68.          * @options: resolution options
  69.          * @inferface: what interface we want from the result
  70.          *
  71.          * Resolves a moniker; this returns a reference to the
  72.          * activated object described by the moniker
  73.          */
  74.         Unknown resolve            (in ResolveOptions options,
  75.                         in string         requestedInterface)
  76.             raises (InterfaceNotFound,
  77.                 TimeOut,
  78.                 GeneralError);
  79.  
  80.         /**
  81.          * equal:
  82.          * @name: the name of another moniker
  83.          *
  84.          *  Compares the full moniker with this @name,
  85.          * returns 0 if not equal, else the number of chars swallowed
  86.          * by the compare.
  87.          */
  88.         long    equal              (in string name);
  89.  
  90.         void unImplemented1 ();
  91.         void unImplemented2 ();
  92.     };
  93.  
  94.         interface MonikerExtender : Bonobo::Unknown {
  95.         /**
  96.          * resolve:
  97.          * @m: the moniker we are about to extend
  98.          * @options: resolve options
  99.          * @name: the name of 'm' by itself eg. 'file:/tmp/a'
  100.          * @requested_interface: the interface we want to get back
  101.          *
  102.          *  The interface for a later extension to a moniker that allows it
  103.          * to be resolved against new and exotic interfaces.
  104.          *
  105.          * Returns: The interface requested, or CORBA_OBJECT_NIL.
  106.          */
  107.                 Unknown resolve (in Moniker        m,
  108.                  in ResolveOptions options,
  109.                                  in string         name,
  110.                                  in string         requestedInterface)
  111.             raises (Moniker::InterfaceNotFound,
  112.                 Moniker::TimeOut,
  113.                 GeneralError);
  114.  
  115.         void unImplemented1 ();
  116.         void unImplemented2 ();
  117.         void unImplemented3 ();
  118.         void unImplemented4 ();
  119.         };
  120. };
  121.  
  122. #endif /* BONOBO_MONIKER_IDL */
  123.